const express = require('express');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
const userService = require('../services/userService');

var router = express.Router();

// 用cookie检查普通用户是否已经登录，若登录做自动登录，直接进入user1.html页面
router.use('/loginPage.html', async function (req, res, next) {
    var user = req.cookies['user'];
    if (user == undefined || user == {}) {
        next();   // 如果cookies为空，说明没有登录，继续访问./www文件
    } else {
        // cookies存在该用户，也要检查用户密码是否正确
        var data = await userService.loginCookie(user);
        // console.log(data.success);
        if (data.success) {
            // 用户信息正确，将信息保存在session服务端
            req.session['user'] = data.user;
            res.redirect('/views/pages/user1.html');
        } else {
            // 用户信息不正确，访问./www文件
            next();
        }
    }
})

//未登录用户进入非登录注册页面，返回登录页面
router.use('/pages', function (req, res, next) {
    var user_sess = req.session.user;
    if (!user_sess) {
        //没有登录
        res.redirect('/views/loginPage.html');
    } else {
        next();
    }
})

// 普通用户不可进入管理员页面
router.use('/admin', function (req, res, next) {
    var user = req.session.user;
    console.log(user);
    if (user.role === 'admin') {
        next();
    } else if (user.role === 'user') {
        res.redirect('/views/pages/user1.html');
    }
})


exports.router = router;